package q1582_numSpecial;

public class Solution {
    /*
    分别用两个数组记录对应的行列有几个1
    然后再次遍历 遇到同时满足行列都只有一个1的位置 ++ans
     */
    public int numSpecial(int[][] mat) {
        int m = mat.length, n = mat[0].length;
        int[] rowsSum = new int[m];
        int[] colsSum = new int[n];
        for (int i = 0; i < mat.length; i++) {
            for (int j = 0; j < mat[0].length; j++) {
                if (mat[i][j] == 1) {
                    rowsSum[i] ++;
                    colsSum[j] ++;
                }
            }
        }
        int ans = 0;
        for (int i = 0; i < mat.length; i++) {
            for (int j = 0; j < mat[0].length; j++) {
                if (mat[i][j] == 1 && rowsSum[i] == 1 && colsSum[j] == 1) {
                    ++ans;
                }
            }
        }
        return ans;
    }
}
